草庐IT

docker-compose up 不构建

全部标签

Dockerizing 一个面向包的设计去模块应用程序

我正在按照描述的面向包的设计方式尝试go模块here这样多个可执行服务就可以“dockerized”,但我正在努力在一个repo中正确连接。我无法使用这种方法成功构建docker镜像。大多数在线示例都适用于单模块方法,其中main.go和dockerfile位于根文件夹中。我的目录结构是这样的项目1-应用程序接口(interface)-build-服务1-docker文件-服务2-docker文件-命令-服务1-main.go-服务2-main.go-部署-文档-内部的-第三者-go.mod-go.sum-生成文件-vendor#AccepttheGoversionfortheimag

docker - Golang docker library - 挂载主机目录卷

我如何执行相当于:dockerrun-v/host/path:/container/pathimage:tag从Go使用官方docker客户端包?我试过不同的Mounts和Volumesclient.ContainerCreate()function的HostOption和ConfigOption结构中的选项,但不太明白。特别是Volumes成员(map[string]struct{}类型)特别难搞清楚如何使用,我找不到关于结构中应该存在哪些值的任何文档。演示我的问题的代码:packagemainimport("context""github.com/docker/docker/api

go - tyk 无法在 Windows 上构建

我正在尝试在Windows上构建tyk。我收到错误消息。..\..\pkg\mod\rsc.io\letsencrypt@v0.0.1\lets.go:269:9:undefined:acme.RegistrationResource这是由于lego\acme中缺少RegistrationResource结构。我可以看出这是由于letsencrypt和lego之间的不兼容。有什么我可以尝试的吗? 最佳答案 Tyk根本不是为在Windows上运行而设计的。如果您需要在Windows系统上使用它,我建议您安装在docker或基于unix

go - CI/CD 构建因 go -ldflags 而失败

Docker镜像:golang:1.12.1。本地Go版本:go1.10.4linux/amd64。我的bash脚本中有这样的命令:GOOS=linuxGOARCH=amd64gobuild-ldflags'-s-w-Xmain.Version=$(gitdescribe--tags)'-o./path/to/binary./main.go&&现在CI/CD在此命令上失败,但一个月前使用相同的Docker镜像一切正常。是-ldflags被弃用了还是什么?控制台输出:#command-line-argumentsusage:link[options]main.o...//skipped-

go - 在一个 docker 容器中打开 go 代码,在另一个容器中打开 jaegertracing

我有一个go项目,它使用以下命令在一个docker容器中发送OpenTracing跨度,并在它自己的容器中运行jaegertracing:dockerrun-p6831:6831/udp-p16686:16686jaegertracing/all-in-one:latest当我运行以下go测试代码时,我可以在jaegerui中看到它们:import("testing"//"fmt""io"opentracing"github.com/opentracing/opentracing-go"jaeger"github.com/uber/jaeger-client-go"config"git

docker - go get golang-migrate inside of docker 错误

我正在尝试使用Docker在go中设置一个小型的首次应用程序。我想使用cli工具进行go-lang迁移。但是我收到以下错误:packagegithub.com/golang-migrate/migrate/v4/internal/cli:在以下任何一个中找不到包“github.com/golang-migrate/migrate/v4/internal/cli”:/usr/local/go/src/github.com/golang-migrate/migrate/v4/internal/cli(来自$GOROOT)/go/src/github.com/golang-migrate/m

docker - 从远程机器访问托管在 digital ocean 水滴上的容器化 API

我正在尝试连接到DigitalOceanDockerDroplet上的docker-compose部署服务堆栈。它包含一个带有数据库的MySQL容器和一个带有API的go/alpine容器。我正在使用2个容器连接到的自定义桥接网络。当尝试在我的mac上本地部署堆栈并通过localhost:port访问API容器时,也会出现此问题。我没有使用docker-machine,因为我认为它只用于多主机部署。堆栈部署成功。服务器容器似乎能够连接到数据库容器。我想知道问题是否在主机的防火墙规则之内?我确实尝试在我的机器上运行mysql服务器的情况下在本地运行该应用程序并且它确实有效,所以我认为原因

go - 使用/cmd 结构构建 Go 项目时出错(多个入口点)

这是我的项目的目录结构(~/go/src/bitbucket.org/a/b):├──cmd│  ├──c│  │  └──main.go│  └──d│  └──main.go├──config│  ├──config.go│  ├──default.json│  └──development.json├──go.mod├──go.sum├──log│  └──log.go├──main.go我需要编译2个二进制文件(cmd/中的每个模块一个)。我尝试从项目根目录(~/go/src/bitbucket.org/a/b)运行GO111MODULE=ongobuild./cmd/c。它什

go - 通过drone.io提交代码构建应用时,如何在代码中提供所需的go模块?

我开发了一个go服务并将其部署在GAE上。在开发此应用程序时,我在我的工作机器中使用命令包含了所需的go模块-goget-u我可以使用以下命令包含其他所需的go模块-adtech-adlib-web>gomodinit它创建了一个带有消息的go.mod文件-go:creatingnewgo.mod:modulegithub.com/nytm/adtech-adlib-web然后,我执行了以下命令以在vendor文件夹中下载所需的模块as-adtech-adlib-web>gomodvendor现在,我想在我的功能分支中提交此go代码,代码通过存储库中的.drone.io工具自动部署。但

c - Windows DLL 文件的正确构建模式是什么?

这两个步骤:gcc-cmain.cgcc-oa.exemain.oMyThing.dll非常适合制作可以调用MyThing.dll内部方法的Windowsexe。注意没有-c的gccmain.c会给出如下错误:未定义对MyThing_method的引用但是,当尝试使用cgo在Golang程序中使同一个系统工作时,我遇到了与使用没有-c的gcc时相同的undefinedreference错误。我读过:https://github.com/golang/go/wiki/WindowsDLLs并且很想尝试使用syscall.NewLazyDLL但我的问题是我的foo.go文件正在调用C.So